Boot
Containner
@Componect- 标记一个类为 Spring 容器管理的组件,表示该类是一个可被 Spring 管理的 Bean,从而实现组件的自动发现和管理
@Respository- 标记一个类为 Spring 管理的数据访问组件,表示该类负责与数据库或其他持久化存储进行交互
@Bean- 用于标识一个方法,该方法返回一个对象,该对象将被 Spring 容器识别为一个 Bean。
@Autowired- 用于自动装配依赖,即根据类型或名称自动将 Spring 容器中的 Bean 注入到目标对象中
@Primary- 用于标记一个 Bean 作为在多个同类型的 Bean 候选中进行自动装配时的首选 Bean
@Resource("name")- 通过指定 Bean 的名称,将目标对象与 Spring 容器中名称匹配的 Bean 进行自动装配
@Qualifier("value")- 通常与 @Autowired 一起使用,用于在按类型匹配到多个候选 Bean 的情况下,进一步按名称指定要注入的 Bean
@PostConstruct- 在对象初始化完成后执行,确保在依赖注入后进行额外的初始化工作
Config
@SpringBootApplication- 组合注解
- @Configuration
- @EnableAutoConfiguration
- @ComponentScan
- 组合注解
@Configuration- 声明一个类为 Spring 的配置类,类似于 Spring XML 配置文件
@EnableAutoConfiguration- 启用 Spring Boot 的自动配置机制
@ComponentScan- 指定 Spring 容器扫描的包路径,以便自动发现和注册 Spring 组件
@Value- 将配置文件中的值注入到 Java 类的字段中
@ConfigurationProperties- 将配置文件中的属性值自动映射到 Java 类的字段上,实现配置的集中管理和类型安全
Controller
@RestController- 组合注解
- @Controller
- @ResponseBody
- 组合注解
@Controller- 标记一个类为 Spring MVC 的控制器,表示该类负责处理客户端的 HTTP 请求并生成响应
@ResponseBody- 用于将控制器方法的返回值直接作为 HTTP 响应体返回给客户端,而不是通过视图解析器进行视图渲染。
@RequestMapping- 将 HTTP 请求映射到控制器
- 可以指定请求的路径、HTTP 方法、参数条件、请求头条件、内容类型条件
- value 属性指定了请求的路径
- produces 属性用于指定控制器方法所返回响应的 MIME 内容类型
@GetMapping- 映射 HTTP GET 请求
@PostMapping- 映射 HTTP POST 请求
@PutMapping- 映射 HTTP PUT 请求
@DeleteMapping- 映射 HTTP DELETE 请求
@RequestParam- 将 HTTP 请求中的查询参数或表单参数绑定到控制器方法的参数上
- value:指定请求参数的名称
- required:表示参数是否必须存在, 默认值为 true
- defaultValue:参数为空时使用的默认值
- 将 HTTP 请求中的查询参数或表单参数绑定到控制器方法的参数上
@RequestBody- 将请求 Body 转换为 Java 对象,绑定 HTTP 请求中的请求体到方法参数上
@DateTimeFormat- 将请求参数或表单数据中的日期字符串解析为 Java 的日期对象
@PathVariable- 将 URL 中的一部分作为参数传递给控制器方法
Service
@Service- 标记一个类为服务层组件,表示该类负责封装业务逻辑,提供服务功能
Test
@SpringBootTest- 启动完整的 Spring 应用上下文,并加载配置文件,以便于测试
@Test- 标记一个方法为测试方法,JUnit 框架在运行测试时会自动识别并执行这些方法
@BeforeAll- 标记测试类中的方法,以便在所有测试方法执行之前执行某些初始化操作
@AfterAll- 标记测试类中的方法,以便在所有测试方法执行之后执行某些清理操作
Verify
@Valid- Spring 会自动对该对象进行验证,确保它符合所有定义的约束条件
@Validated- 扩展了 @Valid 的功能,支持分组验证和方法级别的校验
@NotBlank- 用于校验字符串是否为空或仅包含空白字符
@Size- 用于校验集合、字符串或数组的大小是否在指定范围内
@Email- 用于校验字段是否符合标准的电子邮件格式
@Pattern- 用于使用正则表达式对字段的值进行校验
@Min- 校验数字元素的最小值,确保其值大于等于指定的最小值
@Max- 校验数字元素的最大值,确保其值小于等于指定的最大值
@DecimalMin- 校验 BigDecimal 类型字段的最小值,确保其值大于等于指定的最小值
- `@DecimalMax
- 校验 BigDecimal 类型字段的最大值,确保其值小于等于指定的最大值
Exception
@ExceptionHandler- 在控制器类中来处理特定类型的异常
@RestContrllorAdvice- 组合注解,统一处理应用中的异常并返回统一的错误响应
- @ControllerAdvice
- @ResponseBody
- 组合注解,统一处理应用中的异常并返回统一的错误响应
@ControllerAdvice- 定义全局异常处理器
@ResponseStatus- 为异常处理方法指定一个特定的 HTTP 状态码
Cloud
@EnableDiscoveryClient- 服务注册:将当前微服务注册到服务注册中心,使得其他服务可以通过服务名发现并调用该服务
- 服务发现:使当前服务能够发现其他已注册到服务注册中心的服务,从而实现服务之间的相互调用
@EnableFeignClients- 启用 Feign 客户端的功能,允许应用通过 @FeignClient 注解定义的接口来调用远程服务
- 扫描类路径中所有标注了 @FeignClient 注解的接口,并为每个接口生成一个 Feign 客户端代理实例
Plugins
Swagger
@EnableSwagger2WebMvc- 开启 Swagger2 的 API 文档生成功能,并提供一个 Web 界面来展示和测试这些文档
@Api- 标记一个接口类,并为其提供额外的描述信息。这些信息会被 Swagger 用于生成 API 文档。
ApiOperation- 用于描述 RESTful API 的操作方法
@ApiModel- 为模型类提供一个简洁的描述,说明该类所代表的含义、作用和上下文等信息
@ApiModelProperty- 用于描述模型类中的属性信息
Lombok
@Data- 组合注解
- @Getter
- @Setter
- @EqualsAndHashCode
- @NoArgsConstructor
- @AllArgsConstructor
- 组合注解
@Getter- 自动生成指定字段的 getter 方法
@Setter- 自动生成指定字段的 setter 方法
@EqualsAndHashCode- 自动生成 equals() 和 hashCode() 方法
@NoArgsConstructor- 自动生成一个 无参构造器
@AllArgsConstructor- 自动生成一个 包含所有字段的有参构造器
@Builder- 为当前类自动生成一个静态内部构建器类,允许通过链式调用的方式设置对象属性
MyBatis
-
@Mapper- 标记一个接口,表明该接口是一个 MyBatis 的 Mapper 接口
-
@Select -
@Insert -
@Update -
@Delete -
@Options -
@Param -
@TableName -
@TableId -
@TableField -
@TableLogic -
@Version
un
-
@Conditional -
@ConditionalOnClass -
@ConditionalOnMissingClass -
@ConditionalOnBean -
@ConditionalOnMissingBean -
@ConditionalOnProperty -
@ConditionalOnExpression -
@Slf4j -
@PreAuthorize -
@Secured -
@CrossOrigin -
@Constraint -
@Target -
@Retention -
@interface -
@EnableTransactionManagement -
@Transactional -
@WebFilter -
@Aspect -
@Pointcut -
@Advice -
@Before -
@After -
@AfterReturning -
@AfterThrowing -
@Around -
@EnableBinding- 绑定到消息中间件中的特定队列或主题,启用消息通道,并通过这些通道将消息发送到消息中间件
Last updated on